import Vue from 'vue'
import Router from 'vue-router'

// 重写router的push方法，处理路由重复的异常
const routerPush = Router.prototype.push;
Router.prototype.push = function push(location) {
    return routerPush.call(this, location).catch(error=> error)
};
// 注册路由
Vue.use(Router);

// 导入首页的组件
import Index from '../components/Index.vue'
// 导入登录的组件
import Login from '@/components/system/login/Login.vue';

// 导入其他的路由器
// 系统部分的路由
import SystemRouter from '../components/system/systemRouter.js';

// 整合其他地方的路由，注意参数前面要加”...“
let childrenRouter = new Set([...SystemRouter,[]]);

// 首页相关的路由
let indexRouter = [
    // 默认页跳转到登录组件
    {path: '/', redirect: "/login"},
    // 登录页
    {path: "/login", component: Login, name:"login"},
    // 首页
    {
        path: "/index",
        component: Index,
        name: "index",
        children:SystemRouter
    },
];

// 注册系统所有的路由
export default new Router({
    routes:indexRouter
})
